<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>

</body>
<script>
  // function foo(something) {
  //   this.a = something
  // }
  // var obj1 = { foo: foo }
  // var obj2 = {}
  // obj1.foo(2)
  // console.log(obj1.a)
  // obj1.foo.call(obj2, 3)
  // console.log(obj2.a)
  // var bar = new obj1.foo(4)
  // console.log(obj1.a)
  // console.log(bar.a)

  async function async1 () {
    console.log('async1 start')
    await async2()
    console.log('async1 end')
  }

  async function async2 () {
    console.log('async2')
  }
  console.log('script start')
  setTimeout( () => {
    console.log('settimeout')
  }, 0)
  async1()
  new Promise((resolve) => {
    console.log('promise1')
    resolve()
  }).then(() => {
    console.log('promise2')
  })
  console.log('script end')
  // var cityData = [
  //   //{}
  //   {
  //     id: 1,
  //     name: '广东省',
  //     children: [
  //       {
  //         id: 12,
  //         name: '广州',
  //         children: [
  //           {
  //             id: 122,
  //             name: '白云区',
  //             children: [
  //               {
  //                 id: 1222,
  //                 name: '白云区1',
  //                 children: []
  //               }
  //             ]
  //           },
  //           {
  //             id: 122,
  //             name: '珠海区',
  //             children: []
  //           }
  //         ]
  //       },

  //       {
  //         id: 11,
  //         name: '深圳',
  //         children: [
  //           {
  //             id: 111,
  //             name: '宝安',
  //             children: [
  //               {
  //                 id: 1111,
  //                 name: '西乡',
  //                 children: [
  //                   {
  //                     id: 11111,
  //                     name: '坪洲',
  //                     children: []
  //                   },
  //                   {
  //                     id: 11112,
  //                     name: '灵芝',
  //                     children: []
  //                   }
  //                 ]
  //               },
  //               {
  //                 id: 1112,
  //                 name: '南山',
  //                 children: [
  //                   {
  //                     id: 11121,
  //                     name: '科技园',
  //                     children: []
  //                   }
  //                 ]
  //               }
  //             ]
  //           },
  //           {
  //             id: 112,
  //             name: '福田',
  //             children: []
  //           }
  //         ]
  //       },
  //     ]
  //   },
  //   // {}
  // ];


  // const recursion = (cityData, id, name) => {
  //   if (!cityData || !cityData.length) return;
  //   for (let i = 0, len = cityData.length; i < len; i++) {

  //     if (cityData[i].id === id) {
  //       name += cityData[i].name
  //       console.log('name = ', name);
  //       return ;
  //     }

  //     const childs = cityData[i].children;
  //     if (childs && childs.length > 0) {
  //       recursion(childs, id, name + cityData[i].name);
  //     }

  //     console.log('iiii ====== ', cityData[i].name);

  //   }

  // };



  // const recursion = (cityData, id) => {
  //   if (!cityData || !cityData.length) return;
  //   for (let i = 0, len = cityData.length; i < len; i++) {

  //     if (cityData[i].id === id) {
  //       name += cityData[i].name
  //       console.log('name = ', name);
  //       return ;
  //     }

  //     const childs = cityData[i].children;
  //     if (childs && childs.length > 0) {
  //       recursion(childs, id, name + cityData[i].name);
  //     }

  //     console.log('iiii ====== ', cityData[i].name);

  //   }

  // };

  







//   var name = "";
//   const recursion = (cityData, id) => {
//     if (!cityData || !cityData.length) return;
//     for (let i = 0, len = cityData.length; i < len; i++) {
//       var str = cityData[i].name
//       if (cityData[i].id === id) {
//         name += str

//         return name;
//       }

//       const childs = cityData[i].children;

//       if (childs && childs.length > 0) {
//         recursion(childs, id);
//       }

//       if(i == cityData.length-1){
//          str= "";
//       }

//      name += str;
     
//     }

//   };


 


// recursion(cityData, 11112);
//   console.log(name)

</script>

</html>